75fae640cc1a64b165b1592399e4ea966d72ba66,app/src/main/java/org/proninyaroslav/libretorrent/services/TorrentTaskService.java,TorrentTaskService,onTrayPreferenceChanged,#Collection#,497

Before Change


    public void onTrayPreferenceChanged(Collection<TrayItem> items)
    {
        for (TrayItem item : items) {
            if (item.module().equals(SettingsManager.MODULE_NAME)) {
                if (item.key().equals(getString(R.string.pref_key_battery_control))) {
                    if (pref.getBoolean(item.key(), false) &&
                            (Utils.getBatteryLevel(getApplicationContext()) <= Utils.getDefaultBatteryLowLevel())) {
                        pauseTorrents.set(true);
                        pauseAll();
                    } else if (!pref.getBoolean(getString(R.string.pref_key_download_and_upload_only_when_charging), false)) {
                        pauseTorrents.set(false);
                        resumeAll();
                    }

                } else if (item.key().equals(getString(R.string.pref_key_download_and_upload_only_when_charging))) {
                    if (pref.getBoolean(item.key(), false) && !Utils.isBatteryCharging(getApplicationContext())) {
                        pauseTorrents.set(true);
                        pauseAll();
                    } else {
                        pauseTorrents.set(false);
                        resumeAll();
                    }

                } else if (item.key().equals(getString(R.string.pref_key_max_download_speed))) {
                    engineTask.getEngine().setDownloadSpeedLimit(pref.getInt(item.key(), 0));

                } else if (item.key().equals(getString(R.string.pref_key_max_upload_speed))) {
                    engineTask.getEngine().setUploadSpeedLimit(pref.getInt(item.key(), 0));

                } else if (item.key().equals(getString(R.string.pref_key_max_connections))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.setConnectionsLimit(pref.getInt(item.key(), TorrentEngine.DEFAULT_CONNECTIONS_LIMIT));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_max_active_downloads))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.activeDownloads(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_DOWNLOADS));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_max_active_uploads))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.activeSeeds(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_SEEDS));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_max_active_torrents))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.activeLimit(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_LIMIT));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_cpu_do_not_sleep))) {
                    setKeepCpuAwake(pref.getBoolean(getString(R.string.pref_key_cpu_do_not_sleep), false));

                } else if (item.key().equals(getString(R.string.pref_key_enable_dht))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.enableDht(pref.getBoolean(getString(R.string.pref_key_enable_dht),
                                TorrentEngine.DEFAULT_DHT_ENABLED));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enable_lsd))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.broadcastLSD(pref.getBoolean(getString(R.string.pref_key_enable_lsd),
                                TorrentEngine.DEFAULT_LSD_ENABLED));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enable_utp))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        boolean enable = pref.getBoolean(getString(R.string.pref_key_enable_utp),
                                TorrentEngine.DEFAULT_UTP_ENABLED);
                        sp.setBoolean(settings_pack.bool_types.enable_incoming_utp.swigValue(), enable);
                        sp.setBoolean(settings_pack.bool_types.enable_outgoing_utp.swigValue(), enable);
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enable_upnp))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.setBoolean(settings_pack.bool_types.enable_upnp.swigValue(),
                                pref.getBoolean(getString(R.string.pref_key_enable_upnp),
                                        TorrentEngine.DEFAULT_UPNP_ENABLED));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enable_natpmp))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.setBoolean(settings_pack.bool_types.enable_natpmp.swigValue(),
                                pref.getBoolean(getString(R.string.pref_key_enable_natpmp),
                                        TorrentEngine.DEFAULT_NATPMP_ENABLED));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enc_in_connections))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        int state = (pref.getBoolean(getString(R.string.pref_key_enc_in_connections),
                                TorrentEngine.DEFAULT_ENCRYPT_IN_CONNECTIONS) ?
                                settings_pack.enc_policy.pe_enabled.swigValue() :
                                settings_pack.enc_policy.pe_disabled.swigValue());
                        sp.setInteger(settings_pack.int_types.in_enc_policy.swigValue(), state);
                        engineTask.getEngine().setSettings(sp);
                    }

After Change


    public void onTrayPreferenceChanged(Collection<TrayItem> items)
    {
        for (TrayItem item : items) {
            if (item.module().equals(SettingsManager.MODULE_NAME)) {
                if (item.key().equals(getString(R.string.pref_key_battery_control))) {
                    if (pref.getBoolean(item.key(), false) &&
                            (Utils.getBatteryLevel(getApplicationContext()) <= Utils.getDefaultBatteryLowLevel())) {
                        pauseTorrents.set(true);
                        pauseAll();
                    } else if (!pref.getBoolean(getString(R.string.pref_key_download_and_upload_only_when_charging), false)) {
                        pauseTorrents.set(false);
                        resumeAll();
                    }

                } else if (item.key().equals(getString(R.string.pref_key_download_and_upload_only_when_charging))) {
                    if (pref.getBoolean(item.key(), false) && !Utils.isBatteryCharging(getApplicationContext())) {
                        pauseTorrents.set(true);
                        pauseAll();
                    } else {
                        pauseTorrents.set(false);
                        resumeAll();
                    }

                } else if (item.key().equals(getString(R.string.pref_key_max_download_speed))) {
                    engineTask.getEngine().setDownloadSpeedLimit(pref.getInt(item.key(), 0));

                } else if (item.key().equals(getString(R.string.pref_key_max_upload_speed))) {
                    engineTask.getEngine().setUploadSpeedLimit(pref.getInt(item.key(), 0));

                } else if (item.key().equals(getString(R.string.pref_key_max_connections))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.setConnectionsLimit(pref.getInt(item.key(), TorrentEngine.DEFAULT_CONNECTIONS_LIMIT));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_max_active_downloads))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.activeDownloads(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_DOWNLOADS));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_max_active_uploads))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.activeSeeds(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_SEEDS));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_max_active_torrents))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.activeLimit(pref.getInt(item.key(), TorrentEngine.DEFAULT_ACTIVE_LIMIT));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_cpu_do_not_sleep))) {
                    setKeepCpuAwake(pref.getBoolean(getString(R.string.pref_key_cpu_do_not_sleep), false));

                } else if (item.key().equals(getString(R.string.pref_key_enable_dht))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.enableDht(pref.getBoolean(getString(R.string.pref_key_enable_dht),
                                TorrentEngine.DEFAULT_DHT_ENABLED));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enable_lsd))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.broadcastLSD(pref.getBoolean(getString(R.string.pref_key_enable_lsd),
                                TorrentEngine.DEFAULT_LSD_ENABLED));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enable_utp))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        boolean enable = pref.getBoolean(getString(R.string.pref_key_enable_utp),
                                TorrentEngine.DEFAULT_UTP_ENABLED);
                        sp.setBoolean(settings_pack.bool_types.enable_incoming_utp.swigValue(), enable);
                        sp.setBoolean(settings_pack.bool_types.enable_outgoing_utp.swigValue(), enable);
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enable_upnp))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.setBoolean(settings_pack.bool_types.enable_upnp.swigValue(),
                                pref.getBoolean(getString(R.string.pref_key_enable_upnp),
                                        TorrentEngine.DEFAULT_UPNP_ENABLED));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enable_natpmp))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        sp.setBoolean(settings_pack.bool_types.enable_natpmp.swigValue(),
                                pref.getBoolean(getString(R.string.pref_key_enable_natpmp),
                                        TorrentEngine.DEFAULT_NATPMP_ENABLED));
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enc_mode))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        int state = getEncryptMode();

                        sp.setInteger(settings_pack.int_types.in_enc_policy.swigValue(), state);
                        sp.setInteger(settings_pack.int_types.out_enc_policy.swigValue(), state);
                        engineTask.getEngine().setSettings(sp);
                    }

                } else if (item.key().equals(getString(R.string.pref_key_enc_in_connections))) {
                    SettingsPack sp = engineTask.getEngine().getSettings();
                    if (sp != null) {
                        int state = settings_pack.enc_policy.pe_disabled.swigValue();

                        if (pref.getBoolean(getString(R.string.pref_key_enc_in_connections),
                                TorrentEngine.DEFAULT_ENCRYPT_IN_CONNECTIONS)) {
                            state = getEncryptMode();
                        }

                        sp.setInteger(settings_pack.int_types.in_enc_policy.swigValue(), state);